﻿// 山峰和山谷.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>


using namespace std;


/*
http://ybt.ssoier.cn:8088/problem_show.php?pid=1454

https://loj.ac/p/2653

给定一个 n×n 的网格状地图，每个方格 (i,j)有一个高度 wij​​ 。如果两个方格有公共顶点，则它们是相邻的。

定义山峰和山谷如下：

均由地图上的一个连通块组成；

所有方格高度都相同；

周围的方格（即不属于山峰或山谷但与山峰或山谷相邻的格子）高度均大于山谷的高度，或小于山峰的高度。

求地图内山峰和山谷的数量。特别地，如果整个地图方格的高度均相同，则整个地图既是一个山谷，也是一个山峰。

【输入】
第一行一个整数n（2≤n≤1000），表示地图的大小。

接下来 n 行每行 n 个整数表示地图。第 i 行有 n 个整数 wi1,wi2,…,win(0≤wij≤1000000000)，表示地图第 i 行格子的高度。

【输出】
输出一行两个整数，分别表示山峰和山谷的数量。

【输入样例】
5
8 8 8 7 7
7 7 8 8 7
7 7 7 7 7
7 8 8 7 8
7 8 8 8 8
【输出样例】
2 1


样例输入2:

5
5 7 8 3 1
5 5 7 6 6
6 6 6 2 8
5 7 2 5 8
7 1 0 1 7
样例输出2:

3 3


*/

int main()
{
    std::cout << "Hello World!\n";
}

 